package com.sanjiahantang.youjiaclient.module.goods.models;

import android.content.Context;

import com.sanjiahantang.youjiaclient.base.BaseBean;
import com.sanjiahantang.youjiaclient.base.CallBack;
import com.sanjiahantang.youjiaclient.module.common.beans.CartGoodsBean;
import com.sanjiahantang.youjiaclient.module.common.beans.ConditionBean;
import com.sanjiahantang.youjiaclient.module.common.beans.StringBean;
import com.sanjiahantang.youjiaclient.module.evaluate.beans.EvaServiceBean;
import com.sanjiahantang.youjiaclient.module.goods.beans.CartNum;
import com.sanjiahantang.youjiaclient.module.goods.beans.GoodsAttrBean;
import com.sanjiahantang.youjiaclient.module.goods.beans.GoodsBean;
import com.sanjiahantang.youjiaclient.module.goods.beans.GoodsListBean;
import com.sanjiahantang.youjiaclient.module.goods.beans.GoodsSelectorBean;
import com.sanjiahantang.youjiaclient.module.goods.presenters.GoodsPresenter;

import java.util.Map;

/**
 * Created by zy on 2017/9/5.
 */

public interface IGoodsModel {
    void loadFavoriteList(Context context,Map<String,Object> param, CallBack<GoodsListBean> callBack);

    void alterCartGoodsNumber(Context context, Map<String, Object> params, CallBack<BaseBean> callBack);

    void getCartGoodsData(Context context, Map<String, Object> params, CallBack<CartGoodsBean> callBack);

    void deleteCartGoods(Context context, Map<String, Object> params, CallBack<BaseBean> callBack);

    void getGoodDetail(Context context, Map<String, Object> param, CallBack<GoodsBean> callBack);

    void resetGoodsList(Context context, Map<String, Object> params, CallBack<GoodsListBean> callBack);

    void getMoreList(Context context, Map<String, String> params, CallBack<GoodsListBean> callBack);

    void searchDesignAllAppraisePhone(Context context, Map<String, Object> param, CallBack<EvaServiceBean> callBack);

    void deleteCollectInfo(Context context, Map<String, Object> param, CallBack<BaseBean> callBack);

    void addCollectInfo(final Context context, Map<String, Object> param, final CallBack<BaseBean> callBack);

    void loadSelectors(Context context,Map<String, String> param,  CallBack<GoodsSelectorBean> callBack);

    void loadGoodsAttr(Context context, Map<String, String> param, CallBack<GoodsAttrBean> callBack);

    void addShoppingCartInfoForCustomer(Context context, Map<String, Object> param, CallBack<BaseBean> callBack);

    void getCartNum(Context context, Map<String, Object> pa, CallBack<CartNum> callBack);

    void findGoodsSpecifionsDetailInfo(Context context, Map<String, String> map, CallBack<StringBean> callBack);
}
